//
//  NemoCustomLayoutElement+NemoReference.h
//  NemoSDKDemo
//
//  Created by 许宝吉 on 2019/2/27.
//  Copyright © 2019 JackYang. All rights reserved.
//

#import <NemoSDK/NemoSDK.h>

NS_ASSUME_NONNULL_BEGIN

@interface NemoCustomLayoutElement (NemoReference)

- (instancetype)initWithVideoResolution:(NemoVideoResolution)videoResolution
                          participantId:(int)participantId
                               priority:(NemoLayoutPriority)priority
                                quality:(NemoVideoQuality)quality;

+ (instancetype)customLayoutElementVideoResolution:(NemoVideoResolution)videoResolution
                                     participantId:(int)participantId
                                          priority:(NemoLayoutPriority)priority
                                           quality:(NemoVideoQuality)quality;


#pragma mark - Reference 参考
/**
 People 720 大窗口（1+N）
 
 @param participantId participantId description
 @return return value description
 */
+ (instancetype)layoutPeopleHDStream:(int)participantId;


/**
 People 180 小窗口（1+N）
 
 @param participantId participantId description
 @return return value description
 */
+ (instancetype)layoutPeopleThumbStream:(int)participantId;

/**
 Content 1080P 大窗口（1+N）
 
 
 @param participantId participantId description
 @return XYCustomLayoutElement description
 */
+ (instancetype)layoutContentHDStream:(int)participantId;


/**
 Content 720P 小窗口（1+N）
 
 @param participantId participantId description
 @return return value description
 */
+ (instancetype)layoutContentThumbStream:(int)participantId;

/**
 对称展示 360P 只有一个
 @param participantId participantId description
 @return return value description
 */
+ (instancetype)layoutSymmetricOnlyStream:(int)participantId;

/**
 对称展示 360P 多个
 
 @param participantId participantId description
 @return return value description
 */
+ (instancetype)layoutSymmetricMultipleStream:(int)participantId;


/**
 非对称展示 360P 只有一个
 
 @param participantId participantId description
 @return return value description
 */
+ (instancetype)layoutAsymmetricOnlyStream:(int)participantId;


/**
 非对称展示 360P 多个
 
 @param participantId participantId description
 @return return value description
 */
+ (instancetype)layoutAsymmetricMultipleStream:(int)participantId;


@end

NS_ASSUME_NONNULL_END
